Release Notes for CS4232/36 Version 1.51 Windows 95 Driver   


Release Date:  

4/19/96  


Version Numbers:  

1.51 	CS4232C.EXE
1.51 	CSFM.DRV
1.51 	CS32MIX.EXE
1.51 	CS32BA11.DRV
1.51 	CWAUDIO.VXD
1.51 	CS4232LD.VXD
1.3	SETUP.EXE
1.51	CSMIDI.DRV
1.51	CSMIDI.VXD
79   	CS4232 microcode
6     CS4232A microcode
38	CS4236 microcode


List of Files:

CS4232C.EXE		81,392 	04-17-96	1:51a
CS32MIX.EXE             230,402 04-15-96        1:51a
CWAUDIO.BIN             5,857   04-12-96        1:51a
CS4232.INI              774     10-02-95        1:51a
CS4232.INF		12,158 	04-18-96	1:51a
CSFM.DRV		21,024	03-27-96	1:51a
CWAUDIO.VXD		80,843 	04-19-96	1:51a
CS32BA11.DRV            119,520 04-19-96        1:51a 
CS4232LD.VXD            11,844  04-17-96        1:51a
CSMIDI.DRV		9,296 	04-15-96	1:51a
CSMIDI.VXD		29,312 	04-12-96	1:51a
CSPCPLE.DLL		73,216	04-18-96	1:51a
SETUP.EXE               217,600 04-15-96        1:30a


File Summary:


CS4232C.EXE     CS4232/CS4236 Configuration Program.  A DOS device driver
used to initialize and configure the card.  It will download microcode from
CWAUDIO.BIN.  Using the /X option, it will download resource data from
RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN.

CS32MIX.EXE	DOS mixer used to set or adjust Sound Blaster mixer settings.
It will run as a GUI application or as a  command line utility.

CWAUDIO.BIN  	Data file containing microcode for the CS4232, CS4232A, and
CS4236.  It is used by CS4232LD.VXD and CS4232C.EXE.  

CS4232.INI   	Default initialization parameters for CS4232C.EXE.  It 
is only used if PnP is overridden (/O) or if not using the Win 95 option on
a non PnP system (no /W).

CS4232.INF  	Windows 95 installation file.  It will install the files,
update the registry, install CS4232C.EXE /W in the CONFIG.SYS, and it will
install CS4232C.EXE /O /R in the DOS mode CONFIG.SYS.

CSFM.DRV	Crystal FM MIDI driver.

CWAUDIO.VXD	CS4232/CS4236 Windows 95 virtual device driver.

CS32BA11.DRV	CS4232/CS4236 Windows 95 wave, aux, and mixer driver.

CS4232LD.VXD   	CS4232/CS4236 Windows 95 Device Loader VxD.  This driver will
download microcode from the CWAUDIO.BIN file.

CSMIDI.VXD	Crystal MPU-401 MIDI virtual device driver.

CSMIDI.DRV	Crystal MPU-401 MIDI Driver.

CSPCPLE.DLL	Windows 95 Power Control Panel extension.  This file will
create an extension to the default Windows 95 Power Control Panel, enabling
new features like idle time-out and powerdown now.

SETUP.EXE	Crystal Windows 95 uninstall program.  Running this program
will clean out any Crystal registry entries, delete Crystal files, clean the
CONFIG.SYS, and prompt the user to restart.  When Windows 95 restarts, the
Crystal drivers should install using the default Windows 95 installation.


General Information:

This release adds many new components to the Crystal Windows 95 Driver 
software.  SETUP.EXE, an uninstall program, was added to fix problems 
with installations.  A MPU-401 driver, CSMIDI.DRV and CSMIDI.VXD, was 
added to address APM issues with the suspend / resume with the MPU-401.  
CSPCPLE.DLL, an extension to the Power Control Panel, will add new 
features for APM machines.  In addition, this release adds Advanced 
Power Management support for the CS4232 and CS4236.  

Installation Problems:
Running SETUP.EXE to uninstall the driver before doing an installation 
will fix many installation problems, including previous installations, 
Crystal specific OEMx.INF files, and incorrect registry entries.

Using a Null resource:
When using a NULL resource, please change the ";Reboot" line in the 
CS4232.INF file to "Reboot".  Restart the machine when the Windows 95 
installation prompts.  This will load the CS4232C driver in the 
CONFIG.SYS.  Now, Windows 95 should continue the regular installation of 
the various CS4232/36 devices.

Removing the Synth Input for CS4236:
The default Windows 95 input panel contains an input labeled "Synth."  
On CS4236 based solutions with internal FM enabled, this input will not 
work.  To remove this input from the Input Panel please make the 
following change in the CS4232.INF file.  Change this line:  
HKR,Config\CONTROLS,InputSources,,"Line,Aux1,Loop,Mic" and replace it 
with the following line: 
HKR,Config\CONTROLS,InputSources,,"Aux1,Loop,Mic"

RESOURCE.BIN and /X
Using CS4232C To Download Plug and Play Resources 

The /X option allows the Dos Driver to download Plug and Play resources 
from the file RESOURCE.BIN.  Platforms which contain CS4232/CS4236 Plug 
and Play resources in the BIOS may want to download different Plug and 
Play resources.  This can be accomplished by using the /X to download 
Plug and Play resources from RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN 
prior to booting into Win95.  DirectX games will not replace existing 
audio drivers with Microsoft WSS drivers if the Plug and Play resources 
exclude the  PnP compatible Logical ID's for Logical Device 0.  The 
following steps show a summary of how to create a RESOURCE.BIN from 
existing Plug and Play resources, and how to setup your configuration 
prior to booting into Win95.

1.  Go into the BIOS and set Plug and Play Configuration to:  Use 
Setup Utility.  The idea in this step is to have the BIOS download 
Plug and Resources and configure the part.  Make sure CS4232C.EXE 
is not running in CONFIG.SYS.

2.  Run resource.exe from the Dos command line, and follow these 
steps.  Give it a logical device address by using either Alt+A or A 
(if you know it).  Read Internal Codec IC Data (I).  Write the data 
to a file by using w and then typing in the filename 
(RESOURCE.ASM).

3.  We will now modify RESOURCE.ASM with the new information.  
A.  Add the following validation bytes at the beginning of 
RESOURCE.ASM.
		;EEPROM Validation Bytes
		DB	055H,	0AAH   ;EEPROM Validation Bytes
		DB	000H	       ;EEPROM data length upper byte
		DB	0F5H		 ;lower byte
The lower byte which is the size will have to be corrected (step c 
below).
B.  We will now remove the PnP compatible id's for logical device 0
The entries are at the end of logical device 0.  They are:
		DB 	01CH,041H, 0D0H, 0B0H, 007H;	Compatible ID:PNPB007
		DB	01CH,041H, 0D0H, 0B0H, 020H;	Compatible ID:PNPB020
		DB	01CH,041H, 0D0H, 0B0H, 020H;	Compatible ID:PNPB002
C. We will now calculate the correct size of the data and the 
correct checksum.  This is done by running resource, reading the 
new RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN and noting the errors 
for EEPROM size and checksum.  The mapping errors will disappear 
when the resources are downloaded to the CS4232/36.  Edit the 
RESOURCE.ASM and correct the two errors.
D. Create the new RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN from 
the command line:  resource /r=resource.asm /w=resource.bin

4.   From the Crystal Installation Diskette, copy the following 
files into your Win95 directory.
		A:\CS4232C.EXE ==>C:\WIN95\CS4232C.EXE
		A:\CS4232.INI ==>C:\WIN95\CS4232.INI
		A:\CWAUDIO.BIN ==>C:\WIN95\CWAUDIO.BIN
	 
5.  Prior to booting into Win95, the following must be done:
A.  Modify CONFIG.SYS with: DEVICE=C:\WIN95\CS4232C.EXE /W /X
B.  Go into the BIOS and set Plug and Play Configuration Mode to:  
Use ICU  Boot With PnP OS:  Windows95 TM


New Features:

SETUP:
Created SETUP.EXE to uninstall driver by deleting the installed files, 
cleaning out the registry entries, removing CS4232C.EXE from the 
CONFIG.SYS, and prompting the user for a reboot.

If the file CSPNP.INF is present when SETUP.EXE is run, it will perform 
a "preinstall."  It will copy the DOS driver, RESOURCE.BIN, CS4232.INF, 
and CWAUDIO.BIN to the Windows directory.  It will also modify the 
CONFIG.SYS by adding the following line, DEVICE=C:\WINDOWS\CS4232C.EXE 
/X /W.  The /X option is used to download resources from RESOURCE.BIN.  
Therefore, after SETUP.EXE is run and the machine is restarted, the DOS 
driver will download microcode and resource data.  This will override a 
card's or motherboard device's default resource data.

Added support in SETUP.EXE to uninstall Microsoft WSS drivers from 
Windows 95.

Added support in SETUP.EXE to uninstall drivers and registry entries 
from early versions of the driver.

Added support in SETUP.EXE to uninstall registry entries corresponding 
to null resource data.  

Added support in SETUP.EXE to create a log file of the uninstall.  
SETUP.EXE /L will create a CLEAN.LOG file.

Added support in SETUP.EXE to remove the registry entries for the Power 
Control Panel extensions.  This was added in version 1.20.

Added support in SETUP.EXE to uninstall the CSMIDI.DRV and CSMIDI.VXD 
drivers.  This was added in version 1.30.  

CSPCPLE.DLL:
Created CSPCPLE.DLL, an extension to the default Windows 95 Power 
Control Panel.  Allows the user to set an idle time-out time for the 
part.  Allows the immediately put the part in low power mode via the 
"Powerdown now" button.

CSMIDI.DRV and CSMIDI.VXD:
Created CSMIDI.DRV and CSMIDI.VXD to support MPU-401 playback and 
capture functionality, and support Advanced Power Management issues with 
the MPU-401.

Windows 95 Driver:
The default Sound Blaster mixer settings can be set through registry 
entries.  The settings are only set at Windows 95 initialization.

Added basic Karaoke functionality to the driver.  Karaoke can be enabled 
via the Advanced button in the Input Panel.

New Karaoke functionality was added.  SmartKaraoke.  When enabled via 
the registry entries, it forces the input to MIC and does not allow the 
user to select any input other than MIC.

Added registry entry for the OLB bit.

CS4232.INF:
Added entries to install CSPCPLE.DLL, and create the registry entries 
required for the Power Control Panel Extensions to work.

Added support for new CSMIDI driver.  Removed entries for the old 
default Windows MPU-401 driver, and added entries for the new CSMIDI.DRV 
and CSMIDI.VXD drivers.

Added entries to support the initialization of the Sound Blaster mixer 
registers on Windows 95 initialization.

Added registry entries to support Karaoke features in the driver.  

Changed the default mixer settings for the input and mixer panel.  

The microphone input is now default on installation.

CS4232C.EXE:
Added CS4232C code for different resource data files, CS32RES.BIN and 
CS36RES.BIN.  If these are not present, it defaults to RESOURCE.BIN.  
For the driver to download resources, the EISA ID must match between the 
data on the card and the ID on the resource data file.

CS4232C.EXE added code to support motherboard BIOS devices.

Added code to display the version of the microcode being loaded.


Bug Fixes:

Windows 95 Driver:
Consecutive suspends and resumes while an AVI file is playing will cause 
the audio and video to lose synchronization.

Changing the IRQ setting will sometimes cause a blue screen crash.

CWAUDIO.VXD was changed between 1.23 and 1.24.  It will not powerdown 
the entire chip, just the dacs.

Doing a suspend while the Master Volume is muted and playing a MID will 
cause the part to resume with MIDI unmuted, even though the mute button 
is selected.

Doing a suspend while the Master Volume is muted and playing a WAV will 
cause the part to resume with WAV unmuted, even though the mute button 
is selected.

Powerdown via the Power Control Panel Extension.  Start a capture.  No 
monitored audio.

Doom can't play FM in a DOS box.

Doing CS32MIX /M=0 before Win 95 starts will mute all of the output.  
Also, the default SB Master Volume settings of 9,9 are causing 
attenuation on the outputs.

Suspend and resume will unmute MPU-401 on machines that do full 
powerdown.

Attempting to toggle a WSS mixer mute while TEST-SBP is running would 
cause a driver ownership problem.  After TEST-SBP was exited, attempting 
to play TEST-SBP would cause the error:  "Hardware not found." 

CS4232LD.VXD added a delay after downloading firmware.

Karaoke does not work on non-PnP machines.

Changed error message from "Call your manufacturer" to "Check your audio 
users guide."

Karaoke settings are now persistent between reboots.

CS4232LD.VXD is not downloading newer code if older code is present in 
the part.

Using SBMixerInit to initialize the SB Mixer registers on Win 95 init 
via registry entries does not work for the following entries: 
SBMicMixing, SBInputSelect, and VSTC.

On a CS4232, recording in half duplex does not work.

On a CS4232, making a settings change in the System Device Manager will 
hang the machine.

Added code for FM device contention in a DOS box.  This is required when 
doing idle powerdown on the CS4236.

APM:
The idle time-out on the Power Control Panel will not work correctly on 
the first install. 

Suspend / resume with a CS4236 is hanging the machine on resume.  

For idle time-out on the CS4236 the Wav out, FM, SB, and Wav IN will 
powerdown and powerup separately.

Playing DOOM in a DOS box right after the first install will not play 
any FM.

On a CS4232, doing a suspend / resume will cause static after doing a 
playback or capture.

MIDI Driver:
Fixed problem with suspend / resume not working properly while playing a 
MPU-401 MIDI.

Suspend / Resume while playing .RMI files through the media player is 
causing stuck notes.

DOS Driver:
Fixed bug in CS4232C.EXE.  Using TSETUP to disable the BIOS Sound card, 
would cause an error in CS4232C.EXE.

CS4232C 1.34 RC2 would not configure logical device 5 from the 
CS4232.INI file.  In the verbose mode it even indicates it's disabled 
regardless of the data in the .INI file.

CS4232C RC1 was hanging the machine on bootup. 

Fixed problem with /X not working correctly.  /X was displaying bad 
error message:  "Can not find resource file" then "Downloading resource 
data."  Fixed in 1.33.

CSPCPLE.DLL:

Fixed bug in CSPCPLE.DLL that prevents cascading error messages when the 
Power control panel extension is used whenever the driver is not 
present.

CSPCPLE.DLL is not saving the timer settings.  Select 5 minutes.  Hit 
OK.  Bring up the Power control panel.  The timer says 0 minutes.

SETUP.EXE:
SETUP.EXE will create WININIT.INI entries to delete some of the Crystal 
drivers that are not deleted when the program is run.  

SETUP.EXE will sometimes not remove registry entries for the Control 
Port, CSC0010.  However, these missed entries to cause any problems or 
side effects.

CS32MIX:
CS32MIX does not work in a Win 95 DOS box when the Sound Blaster is at 
240.

CS32MIX no longer checks for the availability of the codec port.



